package com.xinjiang.electricpower.domain.DTO;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;

/**
 * @author feizhao
 * @date 2022/11/22
 * @apiNote 工单池查询条件DTO类
 */
@Data
@NoArgsConstructor
@ToString
@ApiModel("工单池查询条件DTO类")
public class WorkOrderPoolDTO extends AuthInfoDTO{
    /**
     * 工单ids
     */
    @ApiModelProperty(value = "工单编号")
    private String[] ids;
    /**
     * 时间粒度/月
     */
    @ApiModelProperty(value = "时间粒度/月")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
//    @NotNull
    private LocalDate timeGranularityMonth;
    /**
     * 工单编号
     */
    @ApiModelProperty(value = "工单编号")
    private String generalOrderNo;
    /**
     * 台区Id
     */
    @ApiModelProperty(value = "台区Id")
    private String tgId;
    /**
     * 台区名称
     */
    @ApiModelProperty(value = "台区名称")
    private String tgName;

    /**
     * 开始时间/受理时间 查询条件时间范围-开始时间
     */
    @ApiModelProperty(value = "开始时间/受理时间 查询条件时间范围-开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate beginDateStart;
    /**
     * 开始时间/受理时间 查询条件时间范围-结束时间
     */
    @ApiModelProperty(value = " 开始时间/受理时间 查询条件时间范围-结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate beginDateEnd;

    /**
     * 工单状态 1待处理(签收)、2执行中、3已完成
     */
    @ApiModelProperty(value = "工单状态 1待处理(签收)、2执行中、3已完成")
    private String status;

    /**
     * 多种工单状态 1待处理(签收)、2执行中、3已完成
     */
    @ApiModelProperty(value = "工单状态 1待处理(签收)、2执行中、3已完成")
    private String multipleStatus;

    /**
     * 工单类型
     */
    @ApiModelProperty(value = "工单类型")
    private String type;

    /**
     * 系统Id
     */
    @ApiModelProperty(value = "系统Id")
    private String systemId;

    /**
     * 紧急级别
     */
    @ApiModelProperty(value = "紧急级别")
    private String priority;

    /**
     * 工单性质
     */
    @ApiModelProperty(value = "工单性质")
    private String nature;

}
